package com.flyco.modules.stm.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.flyco.common.aspect.annotation.Dict;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import com.flyco.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * @Description: 总仓出入库明细
 * @Author: flyco
 * @Date:   2020-12-03
 * @Version: V1.0
 */
@Data
@TableName("stm_stock_inout_item_record")
@ApiModel(value="stm_stock_inout_item_record", description="总仓出入库单")
public class StmStockInoutItem implements Serializable {
    private static final long serialVersionUID = 1L;

	/**id*/
	@TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "id")
	private Long id;
	/**出入库单id*/
    @ApiModelProperty(value = "出入库单id")
	private Long inoutId;
	/**商品id*/
    @Excel(name = "商品id", width = 15)
    @ApiModelProperty(value = "商品id")
	@Dict(dictTable ="pms_product",dicText = "name",dicCode = "id")
	private Long productId;
	/**商品货号*/
    @Excel(name = "商品货号", width = 15)
    @ApiModelProperty(value = "商品货号")
	private String productSn;
    @ApiModelProperty(value = "商品货号")
	private String productName;
	/**库存类别*/
    @Excel(name = "库存类别", width = 15)
    @ApiModelProperty(value = "库存类别")
	@Dict(dicCode = "stock_type")
	private String stockType;
	/**收/发货数量*/
    @Excel(name = "收/发货数量", width = 15)
    @ApiModelProperty(value = "收/发货数量")
	private Integer inoutQty;
	/**创建人*/
	@ApiModelProperty(value = "创建人")
	@TableField(exist = false)
	private String createBy;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "创建时间")
	@TableField(exist = false)
	private Date createTime;


	@TableField(exist = false)
	private List<String> boxCodeList;

	@TableField(exist = false)
	private String skuCode;

	@TableField(exist = false)
	private Integer productQty;

	@TableField(exist = false)
	private Long newId;

}
